package com.dogkr.server.entity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public class Host {
	public static short STATUS_DISABLE = 1;
	public static short STATUS_NEW = 100;
	public static short STATUS_UPDATE = 200;
	public static short STATUS_NORMAL = 300;
	
	private Long id;

	private Long userId;

	private String hostName;

	private Long cityId;

	private String cityName;

	private String distCode;

	private String distName;

	private String hostArea;

	private String hostAddress;

	private Short hostHouseType;

	private String hostHouseName;

	private Short hostSpaceType;

	private String hostSpaceName;

	private Short hostMaxNum;

	private Short hostExperience;

	private Integer hostLng;

	private Integer hostLat;
	
	private String hostLogoPath;
	
	private Integer assessNum;

	private BigDecimal serverVal;

	private Date lastModifydate;

	private Date createDate;

	private Short status;

	private String hostDescribe;

	private User user;

	private List<PetServer> petServerList;
	
	private Long fvtId;
	
	private String userPhotoPath;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public String getHostName() {
		return hostName;
	}

	public void setHostName(String hostName) {
		this.hostName = hostName;
	}

	public Long getCityId() {
		return cityId;
	}

	public void setCityId(Long cityId) {
		this.cityId = cityId;
	}

	public String getCityName() {
		return cityName;
	}

	public void setCityName(String cityName) {
		this.cityName = cityName;
	}

	public String getDistCode() {
		return distCode;
	}

	public void setDistCode(String distCode) {
		this.distCode = distCode;
	}

	public String getDistName() {
		return distName;
	}

	public void setDistName(String distName) {
		this.distName = distName;
	}

	public String getHostArea() {
		return hostArea;
	}

	public void setHostArea(String hostArea) {
		this.hostArea = hostArea;
	}

	public String getHostAddress() {
		return hostAddress;
	}

	public void setHostAddress(String hostAddress) {
		this.hostAddress = hostAddress;
	}

	public Short getHostHouseType() {
		return hostHouseType;
	}

	public void setHostHouseType(Short hostHouseType) {
		this.hostHouseType = hostHouseType;
	}

	public String getHostHouseName() {
		return hostHouseName;
	}

	public void setHostHouseName(String hostHouseName) {
		this.hostHouseName = hostHouseName;
	}

	public Short getHostSpaceType() {
		return hostSpaceType;
	}

	public void setHostSpaceType(Short hostSpaceType) {
		this.hostSpaceType = hostSpaceType;
	}

	public String getHostSpaceName() {
		return hostSpaceName;
	}

	public void setHostSpaceName(String hostSpaceName) {
		this.hostSpaceName = hostSpaceName;
	}

	public Short getHostMaxNum() {
		return hostMaxNum;
	}

	public void setHostMaxNum(Short hostMaxNum) {
		this.hostMaxNum = hostMaxNum;
	}

	public Short getHostExperience() {
		return hostExperience;
	}

	public void setHostExperience(Short hostExperience) {
		this.hostExperience = hostExperience;
	}

	public Integer getHostLng() {
		return hostLng;
	}

	public void setHostLng(Integer hostLng) {
		this.hostLng = hostLng;
	}

	public Integer getHostLat() {
		return hostLat;
	}

	public void setHostLat(Integer hostLat) {
		this.hostLat = hostLat;
	}

	public Date getLastModifydate() {
		return lastModifydate;
	}

	public void setLastModifydate(Date lastModifydate) {
		this.lastModifydate = lastModifydate;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Short getStatus() {
		return status;
	}

	public void setStatus(Short status) {
		this.status = status;
	}

	public String getHostDescribe() {
		return hostDescribe;
	}

	public String getHostLogoPath() {
		return hostLogoPath;
	}

	public void setHostLogoPath(String hostLogoPath) {
		this.hostLogoPath = hostLogoPath;
	}

	public Integer getAssessNum() {
		return assessNum;
	}

	public void setAssessNum(Integer assessNum) {
		this.assessNum = assessNum;
	}

	public void setHostDescribe(String hostDescribe) {
		this.hostDescribe = hostDescribe;
	}

	public List<PetServer> getPetServerList() {
		return petServerList;
	}

	public void setPetServerList(List<PetServer> petServerList) {
		this.petServerList = petServerList;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public BigDecimal getServerVal() {
		return serverVal;
	}

	public void setServerVal(BigDecimal serverVal) {
		this.serverVal = serverVal;
	}

	public Long getFvtId() {
		return fvtId;
	}

	public void setFvtId(Long fvtId) {
		this.fvtId = fvtId;
	}

	public String getUserPhotoPath() {
		return userPhotoPath;
	}

	public void setUserPhotoPath(String userPhotoPath) {
		this.userPhotoPath = userPhotoPath;
	}

	public void updateInfo(Host host) {
		this.hostName = host.getHostName();
		this.cityId = host.getCityId();
		this.cityName = host.getCityName();
		this.distCode = host.getDistCode();
		this.distName = host.getDistName();
		this.hostArea = host.getHostArea();
		this.hostAddress = host.getHostAddress();
		this.hostHouseType = host.getHostHouseType();
		this.hostHouseName = host.getHostHouseName();
		this.hostSpaceType = host.getHostSpaceType();
		this.hostSpaceName = host.getHostSpaceName();
		this.hostMaxNum = host.getHostMaxNum();
		this.hostExperience = host.getHostExperience();
		this.hostLng = host.getHostLng();
		this.hostLat = host.getHostLat();
		this.hostDescribe = host.getHostDescribe();
	}

	public void create(HostApply apply) {
		this.userId = apply.getUserId();
		this.hostExperience = apply.getHostExperience();
		this.hostHouseType = apply.getHostHouseType();
		this.hostHouseName = apply.getHostHouseName();
		this.hostDescribe = apply.getUserDescribe();
		this.serverVal = apply.getServerVal();
		this.status = STATUS_NEW;
		this.createDate = new Date();
	}
}